package com.sunwayhorizo.health.platform.util;

import java.util.List;

import com.sunwayhorizo.health.common.StrUtil;

public class JPAUtil {
	
	/**
	 * 连接jpql语句中的 or 条件
	 * @param sql jpql语句
	 * @param param	参数名称
	 * @param values 参数值的list
	 * @param split 分隔符（有单引号——字符串类型，没有单引号——数值类型）
	 * @return
	 */
	public static StringBuffer getConcatQLByParamKeyAndParamValuesAndSeparatorWithOrConditions(StringBuffer sql,String param,List<String> values,String split ){
		boolean hasValue = false;
		if( values != null ){
			for( String oneValue : values ){
				if( StrUtil.isNotEmpty(oneValue)){
					hasValue = true;
				}
			}
			if( hasValue ){
				sql.append(" and ( ");
				for( int t=0; t<values.size() ; t++){
					if( t != values.size() -1 ){
						sql.append(" ").append(param).append("=").append(split).append(values.get(t)).append(split).append(" or");
					}else{
						sql.append(" ").append(param).append("=").append(split).append(values.get(t)).append(split);
					}
				}
				sql.append(" ) ");
			}
		}
		return sql;
	}
}
